home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 34.zip / BS1 part 34 / GFA basic training.adf / Requester / ZäHLBOX.LST < prev   
File List  |  1989-06-01  |  3KB  |  102 lines

  1. @zÄhl_box(260,65,"Überschrift",0,0,0,1000,10,wert%)
  2. PROCEDURE zÄhl_box(x%,y|,u$,g_x%,g_y|,mi%,ma%,step%,VAR wert%)
  3.   LOCAL zahl_l|,u_breite%,b_breite%,b_hÖhe%,box_mitte&,hintergrund$
  4.   LOCAL xl1%,xl2%,xr1%,xr2%,yl1|,yl2|,yr1|,yr2|,zahl_y|,abbruch!,ende!
  5.   '
  6.   zahl_l|=LEN(STR$(ma%))*8+10
  7.   u_breite%=LEN(u$)*8
  8.   b_breite%=MAX(u_breite%+10,120,zahl_l|+90)
  9.   b_hÖhe%=(12+10)+g_y|+15+(12+20)
  10.   box_mitte&=x%+b_breite%/2
  11.   '
  12.   COLOR 0
  13.   GET x%,y|,x%+b_breite%+6,y|+b_hÖhe%+4,hintergrund$
  14.   PBOX x%,y|,x%+b_breite%+6,y|+b_hÖhe%+4
  15.   '
  16.   COLOR 1
  17.   BOX x%,y|,x%+b_breite%+6,y|+b_hÖhe%+4
  18.   BOX x%+3,y|+2,x%+b_breite%+3,y|+b_hÖhe%+2
  19.   ADD x%,3
  20.   ADD y|,2
  21.   '
  22.   BOX box_mitte&-u_breite%/2-2,y|+5,x%+b_breite%/2+u_breite%/2+2,y|+17
  23.   TEXT box_mitte&-u_breite%/2,y|+14,u$
  24.   '
  25.   IF g_x%>0
  26.     PUT box_mitte&-g_x%/2,y|+22,grafik$
  27.   ENDIF
  28.   '
  29.   xl1%=x%+10
  30.   xl2%=x%+73
  31.   yl1|=y|+b_hÖhe%-18
  32.   yl2|=y|+b_hÖhe%-6
  33.   xr1%=x%+b_breite%-36
  34.   xr2%=x%+b_breite%-10
  35.   yr1|=y|+b_hÖhe%-18
  36.   yr2|=y|+b_hÖhe%-6
  37.   '
  38.   BOX xl1%,yl1|,xl2%,yl2|
  39.   BOX xr1%,yr1|,xr2%,yr2|
  40.   TEXT xl1%+4,yl2|-3,"Abbruch"
  41.   TEXT xr1%+4,yl2|-3,"OK"
  42.   '
  43.   zahl_y|=y|+22+g_y|+10
  44.   BOX box_mitte&-zahl_l|/2,zahl_y|,box_mitte&+zahl_l|/2,zahl_y|+12
  45.   '
  46.   ini_x&=box_mitte&+zahl_l|/2+10
  47.   ina_x&=ini_x&+25
  48.   count_o|=zahl_y|
  49.   count_u|=count_o|+12
  50.   TEXT ini_x&+3,count_u|-3,"+"
  51.   LINE ini_x&,count_o|,ini_x&,count_u|
  52.   DRAW  TO ina_x&,count_o|+6
  53.   DRAW  TO ini_x&,count_o|
  54.   '
  55.   dei_x&=box_mitte&-zahl_l|/2-10
  56.   dea_x&=dei_x&-25
  57.   TEXT dei_x&-9,count_u|-3,"-"
  58.   LINE dei_x&,count_o|,dei_x&,count_u|
  59.   DRAW  TO dea_x&,count_o|+6
  60.   DRAW  TO dei_x&,count_o|
  61.   '
  62.   ADD zahl_y|,9
  63.   zahl_l|=LEN(STR$(wert%))*8
  64.   TEXT box_mitte&-zahl_l|/2,zahl_y|,wert%
  65.   '
  66.   REPEAT
  67.     IF MOUSEK=1
  68.       IF MOUSEY>yl1| AND MOUSEY<yl2|
  69.         IF MOUSEX>xl1% AND MOUSEX<xl2%
  70.           abbruch!=TRUE
  71.           ende!=TRUE !Abbruch
  72.         ELSE IF MOUSEX>xr1% AND MOUSEX<xr2%
  73.           ende!=TRUE !OK
  74.         ENDIF
  75.       ELSE IF MOUSEY>count_o| AND MOUSEY<count_u| AND NOT bremse!
  76.         IF MOUSEX>ini_x& AND MOUSEX<ina_x& AND wert%<=ma%-step%
  77.           ADD wert%,step%
  78.           bremse!=1
  79.           verÄnderung!=TRUE
  80.         ELSE IF MOUSEX>dea_x& AND MOUSEX<dei_x& AND wert%>=mi%+step%
  81.           SUB wert%,step%
  82.           bremse!=1
  83.           verÄnderung!=TRUE
  84.         ENDIF
  85.       ENDIF
  86.     ELSE IF MOUSEK=0
  87.       bremse!=0
  88.     ENDIF
  89.     '
  90.     IF verÄnderung!
  91.       verÄnderung!=FALSE
  92.       COLOR 0
  93.       PBOX SUCC(box_mitte&-zahl_l|/2),zahl_y|-8,PRED(box_mitte&+zahl_l|/2),zahl_y|+2
  94.       COLOR 1
  95.       zahl_l|=LEN(STR$(wert%))*8
  96.       TEXT box_mitte&-zahl_l|/2,zahl_y|,wert%
  97.     ENDIF
  98.   UNTIL ende!=TRUE
  99.   PUT x%-3,y|-2,hintergrund$
  100.   hintergrund$=""
  101. RETURN
  102.